package com.topera.eduservice.client;

import com.topera.commonutils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * eduservice 调用 service-vod中的方法
 * @Component 交给spring进行管理
 * @FeignClient 指定服务端的名称 服务提供者
 */
@FeignClient(name="service-vod",fallback = VodClientImpl.class)
@Component
public interface VodClient {

    //声明服务接口调用的地址

    /**
     * 删除视频
     * 注意 :
     * 1、这里的路径要写完整
     * 2、@PathVariable注解中必须有名字 否则会出现问题
     * @param videoSourceId
     * @return
     */
    @DeleteMapping("/eduvod/video/deleteVideo/{videoSourceId}")
    public R deleteVideo(@PathVariable("videoSourceId") String videoSourceId);

    /**
     * 删除多个
     * @param videoIdList
     * @return
     */
    @DeleteMapping("/eduvod/video/deleteBatch")
    public R deleteBatch(@RequestParam("videoIdList") List<String> videoIdList);
}
